// import { CSSProperties, VNodeChild } from 'vue';
// import { createTypes, VueTypeValidableDef, VueTypesInterface } from 'vue-types';

// export type VueNode = VNodeChild | JSX.Element;

// type PropTypes = VueTypesInterface & {
//   readonly style: VueTypeValidableDef<CSSProperties>;
//   readonly VNodeChild: VueTypeValidableDef<VueNode>;
//   // readonly trueBool: VueTypeValidableDef<boolean>;
// };

// const propTypes = createTypes({
//   func: undefined,
//   bool: undefined,
//   string: undefined,
//   number: undefined,
//   object: undefined,
//   integer: undefined,
// }) as PropTypes;

// propTypes.extend([
//   {
//     name: 'style',
//     getter: true,
//     type: [String, Object],
//     default: undefined,
//   },
//   {
//     name: 'VNodeChild',
//     getter: true,
//     type: undefined,
//   },
// ]);

import { createTypes } from 'vue-types';
import { VNodeChild } from 'vue';

export type VueNode = VNodeChild | JSX.Element;

const propTypes = createTypes({
  func: undefined,
  bool: undefined,
  string: undefined,
  number: undefined,
  object: undefined,
  integer: undefined,
});

export { propTypes };
